package com.example.system.service;

import com.example.common.core.domain.TableDataInfo;
import com.example.system.domain.announcement.dto.AnnouncementQueryDTO;
import com.example.system.domain.announcement.dto.AnnouncementSaveDTO;
import com.example.system.domain.announcement.vo.AnnouncementDetailVO;


public interface IAnnouncementService {
    TableDataInfo list(AnnouncementQueryDTO announcementQueryDTO);

    int add(AnnouncementSaveDTO announcementAddDTO);

    AnnouncementDetailVO detail(Long announcementId);

    int edit(AnnouncementSaveDTO announcementEditDTO);

    int delete(Long announcementId);
    
    /**
     * 发布公告
     * @param announcementId 公告ID
     * @return 影响行数
     */
    int publish(Long announcementId);
    
    /**
     * 下架公告
     * @param announcementId 公告ID
     * @return 影响行数
     */
    int unpublish(Long announcementId);
}
